// 验证左侧域名必填
function checkDomains() {
    var domains = $("#domains").val();
    if (domains == '') {
        throw new Error('请填写左侧的域名');
    }
    return domains;
}

// 验证某一个ID的文件必传
function checkFile(ele) {
    if ($(ele)[0].files.length <= 0) {
        throw new Error('请上传文件');
    }
    return $(ele)[0].files[0];
}

// 公共的提交函数
function commit(formData) {
    $.ajax({
        type: 'post',
        url: host + 'wptool/exec',
        data: formData,
        dataType: 'json',
        contentType: false,
        processData: false,
        beforeSend: function () {
            $("#domains_res").text("正在加载中...");
        },
        success(data) {
            console.log(data);
            var result = data.result;
            var code = data.code;
            if (code !== 200) {
                $("#domains_res").text("");
                alert(result);
                return false;
            } else {
                var resp = '';
                for (var i = 0; i < result.length; i++) {
                    resp += result[i] + '\n';
                }
                $("#domains_res").text("");
                $("#domains_res").prepend(resp);
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            // 错误处理
            console.error('请求失败:', jqXHR.status, textStatus, errorThrown);
            $("#domains_res").text("请求异常" + errorThrown);
        }
    });
}

// 1、检测/wp-admin/tools.php是否有劫持代码存在
function goChecksx() {
    try {
        domains = checkDomains();
        var formFile = new FormData();
        formFile.append("iden", 'checksx');
        formFile.append("domains", domains);
        commit(formFile);
    } catch (ex) {
        alert(ex.message);
        return false;
    }
}

// 2、提交文件备马
function goBeima() {
    try {
        domains = checkDomains();
        beima_file = checkFile('#beima_file');
        var formFile = new FormData();
        formFile.append("iden", 'beima');
        formFile.append("beima_file", beima_file);
        formFile.append("domains", domains);
        commit(formFile);
    } catch (ex) {
        alert(ex.message);
        return false;
    }
}

// 3、提交动态备马
function goBeima2() {
    try {
        domains = checkDomains();
        beima_file2 = checkFile('#beima_file2');
        var formFile = new FormData();
        formFile.append("iden", 'beima2');
        formFile.append("beima_file", beima_file2);
        formFile.append("domains", domains);
        commit(formFile);
    } catch (ex) {
        alert(ex.message);
        return false;
    }
}

// 3.劫持index.php文件
function goIndex() {
    try {
        domains = checkDomains();
        index_file = checkFile('#index_file');
        var formFile = new FormData();
        formFile.append("iden", 'index');
        formFile.append("index_file", index_file);
        formFile.append("domains", domains);
        commit(formFile);
    } catch (ex) {
        alert(ex.message);
        return false;
    }
}

// 4.得到一个文件的MD5值
function goGenMd5() {
    try {
        domains = checkDomains();
        beima_file = checkFile('#beima_file');
        var formFile = new FormData();
        formFile.append("iden", 'md5');
        formFile.append("domains", domains);
        formFile.append("beima_file", beima_file);
        commit(formFile);
    } catch (ex) {
        alert(ex.message);
        return false;
    }
}